运用Python3的urllib库爬取Ajax加载的页面实例 python3 urlopen
打开Python开发工具IDLE并编写代码,运用Python3的urllib库爬取Ajax加载的页面实例 python3 urlopen
大家好,本网站为大家提供优质的、全新的游戏攻略,援助大家更愉悦地、更顺手地玩游戏,走过路过不要错过奥。
在这个示例中,我们将使用Python3的urllib库来爬取一个使用Ajax加载内容的网页。起首,我们需要查看要爬取的页面,比如豆瓣电影的分类页地址:。
打开Python开发工具IDLE并编写代码
起首,我们需要打开Python开发工具IDLE,并新建一个名为''的文件,接着在其中编写下面内容代码:
import
url ''
headers {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36 115Browser/6.0.3',
'Referer': '',
'Connection': 'keep-alive'
}
req (url, headersheaders)
res (req)
content ().decode('utf8')
print(content)
在代码中,我们起首定义了要爬取的网页的URL和请求头信息。接着,我们创建一个urllib的Request对象,并使用该对象发送请求得到网页内容。最后,我们将得到到的内容打印出来。
运行代码并观察网页加载状况
此刻,我们可以运行代码,并观察是否胜利打印出网页的内容。若果一切顺畅,你应该能够看到豆瓣电影分类页的HTML代码。
使用开发者模式观察Ajax请求参数
接下来,我们需要使用浏览器的开发者模式来观察Ajax请求发送的数据参数。打开开发者模式的技巧是按下F12键,在Network标签下可以看到发送的请求数据。
观察请求URL参数和返回值
观察发现,每次点击“加载更多”按钮时,发送的请求URL中的start参数会递增,步进为20。例如,请求URL可能是_search_subjects?sortUamp;range0,10amp;tagsamp;start0,下一次请求的URL可能是_search_subjects?sortUamp;range0,10amp;tagsamp;start20。
修改代码以打印电影名称
依据观察到的请求参数和返回值,我们可以修改代码来打印出电影的名称。下面是修改后的代码:
import
import json
url '_search_subjects?sortUamp;range0,10amp;tagsamp;start0'
headers {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36 115Browser/6.0.3',
'Referer': '',
'Connection': 'keep-alive'
}
req (url, headersheaders)
res (req)
content ().decode('utf8')
dcontent json.loads(content)
for item in dcontent['data']:
print(item['title'])
在修改后的代码中,我们起首更新了要爬取的URL,使其包含了正确的请求参数。接着,我们解析返回的json格式字符串,并遍历打印出电影的名称。
此刻,再次运行代码,你应该能够看到屡次请求返回的电影名称。
版权声明:这篇文章小编将内容由互联网用户自发贡献,本站不承担相关法律职责.如有侵权/违法内容,本站将即刻删除。
大家注意,牢记持续关注本游戏攻略网站,无论兄弟们的支持是我们最大的动力奥,我们会努力提供全网新的游戏攻略教程,加油。
本创作内容,未授权勿转载,必究权责。
免责说明:这篇文章小编将代表的是网站编辑的见解,与本站无关。其原创性、诚实性以及文中陈述文字和内容未经确认,因此对这篇文章小编将以及其中全部或者部份内容文字的诚实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。